package com.ruoyi.net.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 业务-L2 VPN配置对象 busi_l2_vpn
 * 
 * @author tony
 * @date 2024-12-14
 */
public class BusiL2Vpn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 业务名称 */
    @Excel(name = "业务名称")
    @ApiModelProperty(value = "业务名称")
    private String busiName;

    /** 保护类型（无保护、PW1:1保护） */
    @Excel(name = "保护类型", readConverterExp = "无=保护、PW1:1保护")
    @ApiModelProperty(value = "保护类型")
    private String protectType;

    /** 业务类型（E-LINE） */
    @Excel(name = "业务类型", readConverterExp = "E=-LINE")
    @ApiModelProperty(value = "业务类型")
    private String busiType;

    /** 服务层类型（PW） */
    @Excel(name = "服务层类型", readConverterExp = "P=W")
    @ApiModelProperty(value = "服务层类型")
    private String serviceType;

    /** 业务方向（用户侧到网络侧） */
    @Excel(name = "业务方向", readConverterExp = "用=户侧到网络侧")
    @ApiModelProperty(value = "业务方向")
    private String busiDirection;

    /** 客户名称 */
    @Excel(name = "客户名称")
    @ApiModelProperty(value = "客户名称")
    private String customerName;

    /** 服务级别（钻石） */
    @Excel(name = "服务级别", readConverterExp = "钻=石")
    @ApiModelProperty(value = "服务级别")
    private String serviceLevel;

    /** 组网模式（1一源一宿 2一源两宿） */
    @Excel(name = "组网模式", readConverterExp = "1=一源一宿,2=一源两宿")
    @ApiModelProperty(value = "组网模式")
    private String networkMode;

    /** 告警状态（1提示 2次要 3主要 4紧急） */
    @Excel(name = "告警状态", readConverterExp = "1=提示,2=次要,3=主要,4=紧急")
    @ApiModelProperty(value = "告警状态")
    private String warnStatus;

    /** 激活用户 */
    @Excel(name = "激活用户")
    @ApiModelProperty(value = "激活用户")
    private String activateUser;

    /** 激活时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "激活时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "激活时间")
    private Date activateTime;

    /** 业务使用分类 */
    @Excel(name = "业务使用分类")
    @ApiModelProperty(value = "业务使用分类")
    private String busiUseType;

    /** 条目状态（0=未完成,1=已完成） */
    @Excel(name = "条目状态", readConverterExp = "0=未完成,1=已完成")
    @ApiModelProperty(value = "条目状态")
    private String status;

    /** 删除标记（0正常 2删除） */
    private String delFlag;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setBusiName(String busiName) 
    {
        this.busiName = busiName;
    }

    public String getBusiName() 
    {
        return busiName;
    }
    public void setProtectType(String protectType) 
    {
        this.protectType = protectType;
    }

    public String getProtectType() 
    {
        return protectType;
    }
    public void setBusiType(String busiType) 
    {
        this.busiType = busiType;
    }

    public String getBusiType() 
    {
        return busiType;
    }
    public void setServiceType(String serviceType) 
    {
        this.serviceType = serviceType;
    }

    public String getServiceType() 
    {
        return serviceType;
    }
    public void setBusiDirection(String busiDirection) 
    {
        this.busiDirection = busiDirection;
    }

    public String getBusiDirection() 
    {
        return busiDirection;
    }
    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }
    public void setServiceLevel(String serviceLevel) 
    {
        this.serviceLevel = serviceLevel;
    }

    public String getServiceLevel() 
    {
        return serviceLevel;
    }
    public void setNetworkMode(String networkMode) 
    {
        this.networkMode = networkMode;
    }

    public String getNetworkMode() 
    {
        return networkMode;
    }
    public void setWarnStatus(String warnStatus) 
    {
        this.warnStatus = warnStatus;
    }

    public String getWarnStatus() 
    {
        return warnStatus;
    }
    public void setActivateUser(String activateUser) 
    {
        this.activateUser = activateUser;
    }

    public String getActivateUser() 
    {
        return activateUser;
    }
    public void setActivateTime(Date activateTime) 
    {
        this.activateTime = activateTime;
    }

    public Date getActivateTime() 
    {
        return activateTime;
    }
    public void setBusiUseType(String busiUseType) 
    {
        this.busiUseType = busiUseType;
    }

    public String getBusiUseType() 
    {
        return busiUseType;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("busiName", getBusiName())
            .append("protectType", getProtectType())
            .append("busiType", getBusiType())
            .append("serviceType", getServiceType())
            .append("busiDirection", getBusiDirection())
            .append("customerName", getCustomerName())
            .append("serviceLevel", getServiceLevel())
            .append("networkMode", getNetworkMode())
            .append("warnStatus", getWarnStatus())
            .append("activateUser", getActivateUser())
            .append("activateTime", getActivateTime())
            .append("busiUseType", getBusiUseType())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
